package com.leadingsoft.pwxk.model;

import java.util.List;

import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Lob;
import javax.persistence.OneToMany;
import javax.persistence.OneToOne;

import com.alibaba.fastjson.annotation.JSONField;

import lombok.Data;

/**
 * 
 * @author ysh
 * @desc 审批信息-大气污染物排放信息审核
 */
@Data
@Entity
public class AuditAirPollutionEmissions extends Basic {
	private static final long serialVersionUID = 1L;
	@JSONField(name = "othercontentwinter")
	@Lob
	@Column(length=1048576)
	private String otherContentWinter;// 特殊情况下大气污染物排放许可限值 — 环境质量限期达标规划要求备注信息
	@JSONField(name = "othercontentspother")
	@Lob
	@Column(length=1048576)
	private String otherContentSpother;// 特殊情况下大气污染物排放许可限值 — 重污染天气应对要求备注信息
	@JSONField(name = "othercontent")
	@Lob
	@Column(length=1048576)
	private String otherContent;// 排污单位大气排放总许可量 — 备注信息
	@JSONField(name = "othercontentqc")
	@Lob
	@Column(length=1048576)
	private String othercontentqc;// 大气污染物有组织排放许可限值 — 全厂有组织排放总计备注信息
	@JSONField(name = "othercontentqt")
	@Lob
	@Column(length=1048576)
	private String othercontentqt;// 大气污染物有组织排放许可限值 — 一般排放口备注信息
	@JSONField(name = "othercontentzy")
	@Lob
	@Column(length=1048576)
	private String othercontentzy;// 大气污染物有组织排放许可限值 — 主要排放口备注信息
	@JSONField(name = "enterexplain")
	@Lob
	@Column(length=1048576)
	private String enterexplain;// 不反算说明

	// 大气污染物有组织排放许可限值 — 主要排放口list集合
	@OneToMany(cascade = CascadeType.ALL)
	private List<AirDrainPermit> gasgrouptableonelist;
	// 大气污染物有组织排放许可限值 — 一般排放口list集合
	@OneToMany(cascade = CascadeType.ALL)
	private List<AirDrainPermit> gasgrouptabletwolist;

	// 1.大气污染物有组织排放许可限值 — 主要排放口合计list集合
	@OneToMany(cascade = CascadeType.ALL)
	private List<AirDrainPermit> gasgroupcounttableonelist;
	// 2.大气污染物有组织排放许可限值 — 一般排放口合计list集合
	@OneToMany(cascade = CascadeType.ALL)
	private List<AirDrainPermit> gasgroupcounttabletwolist;
	// 3.大气污染物有组织排放许可限值 — 全厂有组织排放总计list集合
	@OneToMany(cascade = CascadeType.ALL)
	private List<AirDrainPermit> gasgroupcounttablethreelist;
	// 特殊情况下大气污染物排放许可限值
	@OneToOne(cascade = CascadeType.ALL)
	private SpecialAirEmissionsList pwxkitemxkwinterandother;
	// 大气无组织排放许可条件
	@OneToOne(cascade = CascadeType.ALL)
	private AirNoOrgLicense pwxkitemxkgasnogroupandcountlist;

	// 排污单位大气排放总许可量list集合
	@OneToMany(cascade = CascadeType.ALL)
	private List<AirDrainPermit> pwxkitemgasenterpriselist;

	// 新增按月细化明细list集合（按月细化选择是时，此集合有值。）
	@OneToMany(cascade = CascadeType.ALL)
	private List<ApplyMonth> applymonth;

	// ---之间为水泥行业特有属性
	private String isspecial; // 是否执行重点地区无组织控制要求
	// 水泥工业企业生产无组织排放控制要求list集合
	@OneToMany(cascade = CascadeType.ALL)
	private List<CementIndustryNoOrgEmissions> nogroupsnlist;
	// 申请特殊时段许可排放量限值（水泥行业特有表单）
	@OneToMany(cascade = CascadeType.ALL)
	private List<CementIndustryTimeEmissions> tslist;
	// 错峰生产时段月许可排放量限值（水泥行业特有表单）
	@OneToMany(cascade = CascadeType.ALL)
	private List<CementIndustryTimeEmissions> cflist;
	// ----

	// 石化行业特有表单 挥发性有机物无组织排放量分类统计
	@OneToMany(cascade = CascadeType.ALL)
	private List<AirNoOrgInfo> nogroupshlist;
}
